package com.oa.co.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.oa.co.common.PageVo;
import com.oa.co.mapper.AttendanceMapper;
import com.oa.co.pojo.Attendance;
import com.oa.co.service.AttendanceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service("attendanceService")
public class AttendanceServiceImpl implements AttendanceService {
    @Autowired
    private AttendanceMapper attendanceMapper;
    @Override
    public PageVo<Attendance> showAtte(Map<String, Object> params) {
        //获取分页参数
        Integer page = Integer.parseInt(params.get("page")+"");
        Integer limit = Integer.parseInt(params.get("limit")+"");
        //使用mybatis 的分页插件   必须先写这一行
        PageHelper.startPage(page,limit);
        //查询语句
        List<Attendance> attendances = attendanceMapper.showAtte(params);
        //把查询结果封装到  PageInfo 对象中
        PageInfo<Attendance> pageInfo = new PageInfo<>(attendances);

        //由于 前端是 layui 的 表格 ，对数据格式有特定的要求  所以 把数据封装到 layui 的数据结构中
        PageVo<Attendance> pageVo = new PageVo<>();

        // 把分页查询结果 封装到 layui 的 列表组件支持的数据结构中
        pageVo.setData(pageInfo.getList());
        //默认 layui 表格响应成功的 状态码是 0
        pageVo.setCode(0);

        pageVo.setCount(pageInfo.getTotal());

        pageVo.setMsg("考勤分页数据");

        return pageVo;
    }

    @Override
    public int addAttendance(Attendance attendance) {
        return attendanceMapper.addAttendance(attendance);
    }

    @Override
    public int deleteAttendance(Integer id) {
        return attendanceMapper.deleteAttendance(id);
    }
}
